package com.tanhua.api;

import com.tanhua.model.enums.CommentType;
import com.tanhua.model.mongo.Comment;

import java.util.List;

public interface CommentApi {
    /**
     * 根据动态id分页查询动态的评论信息
     * @param page
     * @param pagesize
     * @param comment
     * @param movementId
     * @return
     */
    List<Comment> findComments(Integer page, Integer pagesize, CommentType comment, String movementId);

    /**
     * 通用互动保存方法：发布评论，所有类型的互动数据保存，并得到互动后的总数（评论、喜欢、点赞）
     * @param newComment
     * @return
     */
    Integer save(Comment newComment);

    /**
     * 判断动态是否被当前用户点赞过
     * @param movementId
     * @param userId
     * @param type
     * @return
     */
    Boolean hasComment(String movementId, Long userId, int type);

    /**
     * 取消互动（通用互动类型取消：取消点赞、喜欢、评论）
     * @param
     * @return
     */
    Integer remove(Comment comment);
}
